﻿using System;

namespace Miao
{
    /// <summary>
    /// Static method decorated with this attribute will be automatically called by <see cref="Initialize"/>.
    /// Called after all <see cref="IModule"/> have been initialized.
    /// </summary>
    [AttributeUsage(AttributeTargets.Method, Inherited = false)]
    public class RuntimeInitializeMethodAttribute : Attribute
    {
        internal int priority;

        /// <param name="priority">The priority of the call.The smaller the priority, the earlier it is called.</param>
        public RuntimeInitializeMethodAttribute(int priority = 0)
        {
            this.priority = priority;
        }
    }
}